
#ifndef Velyn_Utility_h
#define Velyn_Utility_h

namespace Velyn {

    namespace Graphics {
    
        namespace Utility {
        
            /**
             * Draws a 2x2x2 compass in the center of the scene.
             */
            class Compass {
               
            public:
                
                /*
                 * Render the compass.
                 */
                static void render() {
                    
                    // TODO: how do i keep the colors the same when i render?
                    
                    // disable the textures
                    glDisable(GL_TEXTURE_2D);
                    
                    // render each pole
                    glBegin(GL_LINES);
                    glColor3f(0.5f, 0.5f, 0.5f);
                    glVertex3f(-2.0f, 0.0f, 0.0f);
                    glVertex3f(2.0f, 0.0f, 0.0f);
                    glVertex3f(0.0f, -2.0f, 0.0f);
                    glVertex3f(0.0f, 2.0f, 0.0f);
                    glVertex3f(0.0f, 0.0f, -2.0f);
                    glVertex3f(0.0f, 0.0f, 2.0f);
                    glEnd();
                    
                    // reenable the textures
                    glEnable(GL_TEXTURE_2D);    
                }
            };
        }
    }
}
    
#endif
